Android Runtime

A Dalvik és ART architektúráinak összehasonlítása

Az Android Runtime (ART) az Android mobil operációs rendszer által használt alkalmazás-futtatókörnyezet. Az ART az Android által eredetileg processz-virtuális gépként használt Dalvikot cseréli le, ami az alkalmazás bájtkódját natív utasításokká fordítja, amiket aztán az eszköz futtatókörnyezete hajt végre.[1]

A Dalvik működésétől eltérően, ami az Android 2.2 "Froyo" óta röpfordítást (just-in-time compilation) végez, tehát az alkalmazás minden indításakor lefordítja a bájtkódot,[2] az ART bevezeti az előre fordítás ahead-of-time (AOT) compilation gyakorlatát, amit az alkalmazás telepítésekor végez el. Az alkalmazás futtatásához szükséges összes fordítás mennyiségét lecsökkentve a mobileszköz processzorhasználata csökken, tehát az akkumulátor üzemideje megnövekedik. Ugyanakkor az Android Runtime fejlődést hoz a teljesítményben, a szemétgyűjtésben, az alkalmazások hibakeresésében és teljesítménymérésében (profilingjában).[1][3]

A visszamenőleges kompatibilitás fenntartása érdekében az ART ugyanazt a bájtkódformátumot használja, mint a Dalvik, APK fájlokon belüli standard .dex fájlokkal, ahol viszont az .odex fájlokat Executable and Linkable Format (ELF) futtatható fájlok helyettesítik. Miután az alkalmazást lefordítja az eszközön található dex2oat eszköz, attól kezdve a lefordított ELF fájl kerül csak futtatásra – ez megszünteti a röpfordítással kapcsolatos különböző plusz költségeket, cserébe az alkalmazás telepítésekor némi extra időt igényel, és az alkalmazások valamivel több tárterületet igényelnek a lefordított bájtkód tárolásához.[1][3]

Az ART technológiai előzetesként debütált az Android 4.4 "KitKat"[4][5] verzióban, és teljes körűen lecseréli a Dalvikot az Android 5.X "Lollipop"-ban.[6]

  1. a b c Andrei Frumusanu: A Closer Look at Android RunTime (ART) in Android L. AnandTech , 2014. július 1. (Hozzáférés: 2014. július 5.)
  2. Phil Nickinson: Google Android developer explains more about Dalvik and the JIT in Froyo. Android Central , 2010. május 26. (Hozzáférés: 2014. július 8.)
  3. a b Introducing ART. Android developer portal , 2014. június 12. (Hozzáférés: 2014. július 5.)
  4. Sean Buckley: 'ART' experiment in Android KitKat improves battery life and speeds up apps. Engadget , 2013. november 6. (Hozzáférés: 2014. július 5.)
  5. Daniel P.: Experimental Google ART runtime in Android KitKat can bring twice faster app executions. PhoneArena , 2013. november 7. (Hozzáférés: 2014. július 5.)
  6. Vlad Savov: Google's next big Android redesign is coming in the fall. The Verge , 2014. június 25. (Hozzáférés: 2014. július 5.)

Developed by StudentB